﻿using NetCore.Model.Enity;
using NetCore.Model.VeiwModels;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace NetCore.IRepository.Order_LayerwinDingmachineEquipment
{
    public interface IOrder_layerwindingmachineequipmentRepository : IBaseRepository<OrderLayerwindingmachineequipment>
    {
        /// <summary>
        /// 缓存添加班次比例
        /// </summary>
        /// <returns></returns>
        Task<GetShiftProportionResult> AddShiftProportionRedis();

        /// <summary>
        /// 获取总数量
        /// </summary>
        /// <returns></returns>
        Task<int> GetTotalNumber(int type);

        /// <summary>
        /// 统计指定月份每天数据
        /// </summary>
        /// <param name="statisticsDailyDataFrom"></param>
        /// <returns></returns>
        Task<List<DayCount>> Month_StatisticsDailyData(Month_StatisticsDailyDataFrom statisticsDailyDataFrom);

        /// <summary>
        /// 统计指定年份每月数据
        /// </summary>
        /// <param name="year_StatisticsDailyDataFrom"></param>
        /// <returns></returns>
        Task<List<MonthCount>> Year_StatisticsDailyData(Year_StatisticsDailyDataFrom year_StatisticsDailyDataFrom);

        /// <summary>
        /// 添加层绕机设备订单信息
        /// </summary>
        /// <returns></returns>
        Task<long> AddOrder_LayerwindingmachineEquipmentr_Bak(OrderLayerwindingmachineequipmentrBak orderLayerwindingmachineequipmentrBak);

        /// <summary>
        /// 获取订单信息
        /// </summary>
        /// <returns></returns>
        Task<long> GetOredrInfo(int userid, int productionproductid, DateTime starttime, DateTime endtime);
    }
}